Automated data storage libraries are known for providing cost effective storage and retrieval of large quantities of data. The data is stored on data storage media that is typically contained within a cartridge and referred to as a data storage media cartridge. The media comprises magnetic media (such as magnetic tape or disks), optical media (such as optical tape or disks), electronic media (such as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or other suitable media. The data storage library contains data storage drives that store data to, and/or retrieve data from the data storage media. The cartridges are stored inside the library in storage shelves when not in use by the data storage drives. One or more robot accessors retrieve selected cartridges from the storage shelves and provide them to data storage drives. Generally, data storage libraries contain a large number of storage shelves to place the cartridges when the cartridges are not in use by a data storage drive. Each storage shelf that may contain a cartridge is referenced or located by the library by a storage shelf address. The data storage library typically includes control electronics that direct the accessors operation, communicate with the data storage drives and interface to one or more host computers to transfer commands and/or data between the host computer and the data storage library. Typically, data stored on data storage media of an automated data storage library, once requested, is needed quickly. Thus, it is desirable that an automated data storage library be maintained in an operational condition as much as possible, such as the well known “24×7×365” availability.
Various companies manufacture automated data storage libraries, and each company has libraries with different features. Early data storage libraries could only operate with a single host computer. Automated data storage libraries now offer the capability of sharing the entire library with a plurality of host computers. Any host computer that is attached to the library may obtain access to all, or part of the cartridges in the library. The IBM 3584 UltraScalable Tape Library is an example of a product that has the internal capability to allocate data storage drives and storage shelves to multiple host computers. The data storage library can be divided into one or more logical libraries, where the robotics and electronics are usually shared throughout the library; however, the storage shelves and data storage drives are assigned to one of the logical libraries and are not shared.
One problem with supporting multiple logical libraries within a single data storage library is the management and tracking of each cartridge. For example, if storage shelf locations are used to differentiate cartridges that belong to different logical libraries then the cartridges may be moved around by an operator while a door is open or the library is powered off. The association of a cartridge to a logical library must be maintained so that a cartridge assigned to one logical library does not accidentally end up with another logical library.
U.S. Pat. No. 6,185,165 describes a method of physically partitioning the library storage and drives into physical areas that are associated with particular logical libraries. One problem with U.S. Pat. No. 6,185,165 (and other physical mapping solutions) is that it establishes a physical relationship between logical libraries and their associated storage. This makes certain desirable library features difficult (or even impossible) to implement, such as floating home cell (where the physical location of a cartridge can move for better library efficiency) or logical library spanning (where additional storage for a logical library may appear outside the existing range of storage slots). In addition, if a cartridge is moved by an operator then the logical library association would change, allowing the wrong host computer to access the media.
One solution would be the use of organization tables, where each cartridge is associated with a particular logical library, based on the cartridge label. One problem with this approach is that very large libraries could consume a large amount of memory to store the information needed to maintain the logical library association for each cartridge. In addition, the storage would have to be nonvolatile to prevent the loss of the information when the library is powered off. A duplicate copy of the information would also be necessary to safeguard against losing the information in the event of a nonvolatile memory failure or component replacement. Another problem is that it requires properly labeled media. Some customers do not want labels on their cartridges and others want to control and perform their own cartridge labeling. Defective labels that cannot be read properly can also cause problems.
U.S. Pat. No. 5,761,503 describes a method where cartridge labels are used to associate a particular cartridge with a particular logical library. Cartridge ranges are assigned to logical libraries and any cartridge label that falls within the range will be associated with that particular logical library. While the use of cartridge label ranges have the potential to use less nonvolatile storage space then organization tables, it still requires properly labeled media. Importing media into a specific logical library may not be possible unless the cartridge label is changed. Supporting range gaps or fragmented ranges using labels could result in large memory requirements to store all of the ranges.
In view of the foregoing, there is a need for a more flexible and reliable system for the management and tracking of cartridges in a data storage library.